'use strict'; var MX = MX || {}; // Variable de la URL que se encuentra en Gruntfile.js para obtener la URl segun ambiente. MX.root ='https://framework-gb.cdn.gob.mx/'; MX.emailService = '//tramites.beta.gob.mx/subscribe'; MX.trackingID = ''; MX.comscore = 'gobmx/'; MX.path = MX.root + 'assets/'; MX.imagesPath = MX.path + 'images/'; MX.scriptsPath = MX.path + 'scripts/'; MX.stylesPath = MX.path + 'styles/'; MX.gobmxPath = 'https://www.gob.mx/'; /** * [getParse URL parse current URL] * @return {[string]} [url ID] */ var getParseURL = function() { var urlHost = window.location.host, urlPath = window.location.pathname, host = urlHost.toLowerCase().split( '.' ), path = urlPath.toLowerCase(), hostClean = host.slice( 0, 2 ).join( '.' ), pathClean; if ( !isNaN( host[ 0 ] ) ) hostClean = urlHost; if ( path.indexOf( '.' ) !== -1 ) { var _end = path.indexOf( '.' ); path = path.substring( 0, _end ); } if ( path.indexOf( '#' ) !== -1 ) { var _end = path.indexOf( '#' ); path = path.substring( 0, _end ); } if ( path.indexOf( '?' ) !== -1 ) { var _end = path.indexOf( '?' ); path = path.substring( 0, _end ); } if ( path === '/' ) path = '/index'; pathClean = path.replace(/\//g, "."); return hostClean + pathClean; } MX.trackingID = getParseURL(); MX.isMetaHelper = function() { var metas = document.getElementsByTagName('meta'); function isMeta() { for (var i = 0; i < metas.length; i++) { if ( metas[i].getAttribute('property') === 'gobmxhelper') { return metas[i].getAttribute('content'); } } } if( isMeta() === 'no plugins') { return true; } else { return false; } } if( !MX.isMetaHelper() ) { var WebFontConfig = { google: { families: [ 'Open+Sans:300italic,400italic,400,300,600,700:latin' ] } }; (function() { var wf = document.createElement('script'); wf.src = ('https:' == document.location.protocol ? 'https' : 'http') + '://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js'; wf.type = 'text/javascript'; wf.async = 'true'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(wf, s); })(); } MX.secBuilder = function () { var body = $('body'); var navBar = '
'+ ''+ '
'; var footer = ''; body.prepend(navBar); body.append(footer); /* --- boton de suscribete --- */ $('body').on( 'click', '#subscribe', function(e){ e.preventDefault(); var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; var dataString = $('#email').serialize(); var email = $('#email').val(); var url = MX.emailService; var successMessage = 'Agradecemos tu registro dentro de gob.mx. De esta manera estarás informado sobre las principales acciones y decisiones del Gobierno de la República.

Gracias por tu interés y colaboración. Juntos construimos gob.mx'; var registeredMessage = 'Este correo electrónico ya ha sido registrado.'; var failMessage = 'No se pudo registrar el correo electrónico.'; var validEmail = 'Ingrese un email válido'; if($.trim(email).length == 0 || re.test(email) === false) { $('.message-subscribe').removeClass("hidden").html(validEmail); return false; } else { $('.message-subscribe').addClass("hidden").html(); $.ajax({ type: 'POST', data: "email="+ $('#email').val(), dataType: 'json', url: url }).done( function( data ) { if( data.status == 'error') { $('.message-subscribe').removeClass("hidden").html(registeredMessage); } else { $('#email').val(''); $('#email').prop('disabled', true); $('.message-subscribe').removeClass("hidden").html(successMessage); } }).fail( function() { $('.message-subscribe').removeClass("hidden").html(failMessage); }); } return false; }); }; $(function(){ MX.secBuilder(); if (!Modernizr.svg) { var imgs = document.getElementsByTagName('img'); var svgExtension = /.*\.svg$/; var l = imgs.length; for(var i = 0; i < l; i++) { if(imgs[i].src.match(svgExtension)) { imgs[i].src = imgs[i].src.slice(0, -3) + 'png'; } } } /** * Vertically center Bootstrap 3 modals so they aren't always stuck at the top */ function reposition() { var modal = $(this), dialog = modal.find('.modal-dialog'); modal.css('display', 'block'); // Dividing by two centers the modal exactly, but dividing by three // or four works better for larger screens. dialog.css("margin-top", Math.max(0, ($(window).height() - dialog.height()) / 2)); } // Reposition when a modal is shown $('.modal').on('show.bs.modal', reposition); // Reposition when the window is resized $(window).on('resize', function() { $('.modal:visible').each(reposition); }); });